package com.md.api.service;

import com.md.api.entity.*;
import com.md.api.entity.dto.ComposeQueryDto;
import com.md.api.entity.dto.SkuDetailDto;

import javax.servlet.http.HttpServletRequest;

/**
 * @Author liujie
 * @ClassName UserSevice
 * @Date 2022/11/9 11:34
 **/
public interface ShoppingService {

    HttpResult page(HttpServletRequest request, ComposeQueryDto qto);

    HttpResult spuDetail( ShoppingSpu spuo);
    HttpResult skuDetail( HttpServletRequest request,SkuDetailDto dto);

    HttpResult newProduct( ShoppingSpu spu) throws Exception ;

    HttpResult newAttribute( ShoppingAttribute attribute);
    HttpResult newAttributeValue( ShoppingAttributeValue attributeValue);
    HttpResult addShoppingCart(HttpServletRequest request, ShoppingCart shoppingCart);
    HttpResult attributeValueList( String attributeId);

    HttpResult attributeList(ShoppingAttribute attribute);

    HttpResult skuUp( ShoppingSku sku);
    HttpResult skuDown( ShoppingSku sku);

    HttpResult updateSkuBase(ShoppingSku sku);
    HttpResult updateSpuBase(ShoppingSpu spu);

    HttpResult attributeTree(ShoppingAttribute attribute);

    HttpResult recommend();
    HttpResult getNew();
    HttpResult spuTypePage(ComposeQueryDto qto);

    HttpResult findLogistics(ComposeQueryDto queryDto);

    HttpResult onceShoppingSetting(ShoppingSku sku);

    HttpResult deleteAttributeValue(ShoppingAttributeValue attributeValue);

    HttpResult updateAttributeValue(ShoppingAttributeValue attributeValue);

    HttpResult deleteAttribute(ShoppingAttribute attribute);

    HttpResult updateAttribute(ShoppingAttribute attribute);

    HttpResult deleteShoppingProduct(ShoppingSpu spu);
}
